﻿// --------------------------------------------------------------------------------------------------------------------
// <copyright file="IKeyProvider.cs" company="Marcin Jastrzebski">
//   Copyright (c) Marcin Jastrzebski (marcin@marcinj.net)
// </copyright>
// <summary>
//   The KeyProvider interface.
// </summary>
// --------------------------------------------------------------------------------------------------------------------

namespace mPassRT.Services
{
    using System.Threading.Tasks;

    using KeePassLib.Keys;

    /// <summary>The KeyProvider interface.</summary>
    public interface IKeyProvider
    {
        #region Public Methods and Operators

        /// <summary>Gets the key for the specified database.</summary>
        /// <param name="databaseFileName">The database file name.</param>
        /// <param name="operation">The operation the key is used in.</param>
        /// <returns>The key.</returns>
        Task<CompositeKey> GetKey(string databaseFileName, KeyOperation operation);

        #endregion
    }
}